package org.lq.er.service.impl;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import org.lq.er.dao.Score_infoDao;
import org.lq.er.dao.impl.Score_infoDaoImpl;
import org.lq.er.entity.Score_info;
import org.lq.er.service.Score_infoService;
import org.lq.er.util.JDBCUtil;

/**
 * 成绩业务接口实现类
 * @author 宋铀
 * 
 * @package	org.lq.er.service.impl
 * @date 2020年8月19日上午10:21:37
 */
public class Score_infoServiceImpl implements Score_infoService {
	
	Score_infoDao sid = new Score_infoDaoImpl();
	
	/**
	 * 添加成绩信息
	 */
	@Override
	public boolean save(Score_info t) {
		return sid.save(t)>0;
	}
	/**
	 * 修改成绩信息
	 */
	@Override
	public boolean update(Score_info t) {
		return sid.update(t)>0;
	}
	/**
	 * 根据ID删除成绩信息
	 */
	@Override
	public boolean delete(int id) {
		return sid.delete(id)>0;
	}
	/**
	 * 查询所有成绩信息
	 */
	@Override
	public List<Score_info> findAll() {
		return sid.findAll();
	}
	/**
	 * 根据id查询成绩
	 */
	@Override
	public Score_info getById(int id) {
		return sid.getById(id);
	}
	
	/**
	 * 根据身份证号查询成绩
	 */
	@Override
	public Score_info getByStu_id(String stu_id) {
		return sid.getByStu_id(stu_id);
	}
	/**
	 * 查询所有学生成绩相关信息
	 * @return
	 */
	public ResultSet findInfo() {
		// 查询结果
		List<Object> list = new ArrayList<Object>(); 
		// 查询	sql语句
		String sql = "select st.card_id,st.name,st.classes,su.subject_name,sc.status,sc.score from score_info sc,student st,subject su where sc.stu_id=st.stu_no and sc.subject_id=su.id";
		ResultSet rs = JDBCUtil.executeQuery(sql);
		return rs;
	}
	/**
	 * 指定查询
	 */
	public ResultSet findByItem(String item) {
		// 查询结果
		List<Object> list = new ArrayList<Object>(); 
		// 查询	sql语句
		String sql = "select st.card_id,st.name,st.classes,su.subject_name,sc.status,sc.score from score_info sc,student st,subject su where (sc.stu_id=st.stu_no and sc.subject_id=su.id) and (sc.stu_id=? or st.name=? or st.classes=?)";
		ResultSet rs = JDBCUtil.executeQuery(sql,item,item,item);
		return rs;
	}
	@Override
	public boolean delete(String stuId, int subId) {
		return sid.delete(stuId, subId)>0;
	}
	
}
